﻿using System;
using UnityDemo.Models;

namespace UnityDemo.RegAndResCode
{
    public class RegisterAndResolveDemo : BaseFeatureDemo
    {
        public RegisterAndResolveDemo()
        {
            ISample value = _sampleCollection[1].Value;
        }

        protected override void RegisterSamples()
        {
            _sampleCollection[1] = new Lazy<ISample>(() => new RegisterAndResolveInterfacesAndClass());

            _sampleCollection[2] = new Lazy<ISample>(() => new RegisterMultipleInterfacesAndClass());

            _sampleCollection[3] = new Lazy<ISample>(() => new RegisterNamedInterfacesAndClass());

            _sampleCollection[4] = new Lazy<ISample>(() => new RegistrationCheck());

            _sampleCollection[5] = new Lazy<ISample>(() => new ConstructResolutionSample());

            _sampleCollection[6] = new Lazy<ISample>(() => new RegistrationCollection());

            _sampleCollection[7] = new Lazy<ISample>(() => new ResolveAllSample());
        }
    }
}